// package com.jungle.sp.daily.ws.handler;
//
// import org.springframework.web.socket.CloseStatus;
// import org.springframework.web.socket.TextMessage;
// import org.springframework.web.socket.WebSocketSession;
// import org.springframework.web.socket.handler.TextWebSocketHandler;
//
// import java.util.Map;
// import java.util.concurrent.ConcurrentHashMap;
//
// /**
//  * 处理器
//  * @author 86189
//  */
// public class RoomWebSocketHandler extends TextWebSocketHandler {
//     // 用于存储房间用户数量
//     private static final Map<String, Integer> roomUserCount = new ConcurrentHashMap<>();
//     // 用于存储用户会话
//     private static final Map<WebSocketSession, String> userSessions = new ConcurrentHashMap<>();
//
//     @Override
//     public void afterConnectionEstablished(WebSocketSession session) throws Exception {
//         System.out.println("New connection established: " + session.getId());
//     }
//
//     @Override
//     protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
//         String room = message.getPayload(); // 获取房间名
//         System.out.println("User joined room: " + room);
//
//         // 更新房间用户数量
//         userSessions.put(session, room);
//         roomUserCount.put(room, roomUserCount.getOrDefault(room, 0) + 1);
//
//         // 通知当前房间的用户数
//         notifyRoomCount(room);
//     }
//
//     @Override
//     public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
//         String room = userSessions.remove(session);
//         if (room != null) {
//             roomUserCount.put(room, roomUserCount.getOrDefault(room, 0) - 1);
//             notifyRoomCount(room);
//         }
//     }
//
//     private void notifyRoomCount(String room) {
//         int count = roomUserCount.getOrDefault(room, 0);
//         System.out.println("Room: " + room + ", Users: " + count);
//     }
// }
